<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>generator和promise练习</title>
</head>
<body>

</body>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
<script>

    //用户登录成功后, 根据用户类型, 如果是普通用户 则调用普通用户的用户信息
//                             如果是管理员, 则显示所有的用户信息

    /*$.ajax({
        url: "验证用户登录帐号和密码",
        success:function (data) {
            if(data.type === "manger"){//如果用户是管理员
                $.ajax({
                    url: "获取所有用户信息",
                    success:function (userList) {
                        console.log("获取的所有用户信息", userList)
                    }
                })
            }else {
                $.ajax({
                    url: "获取当前用户的所有信息",
                    success:function (userInfo) {
                        console.log("展示当前的用户信息", userInfo)
                    }
                })
            }
        }
    })*/

//    generator
    {//generator获取数据
        function myAjax(url) {
            $.ajax({
                url: url,
                success(data){
                    console.log(url+"data===>", data);
                    it.next(data)
                }
            });
        }

        function * getData() {
            let data = yield myAjax("./data/aaa.txt");
            if(data.type === "manger") {//如果用户是管理员
                let userList = yield myAjax("./data/bbb.txt");
                console.log("获取的所有用户信息====>", userList)
            }else {
                let userInfo = yield myAjax("./data/ccc.txt");
                console.log("展示当前的用户信息====>", userInfo)
            }
        }

        let it = getData();
        it.next();
    }

    //promise获取数据
    {
        Promise.resolve(
            $.ajax({
                url: "./data/aaa.txt"
            })
        ).then(
            success=>{
                console.log("登录成功后获取的用户信息---->",success);
                if(success.type === "manger") {//如果用户是管理员
                    Promise.resolve(
                        $.ajax({
                            url: "./data/bbb.txt"
                        })
                    ).then(
                        userList=>{

                            console.log("获取的所有用户信息====>", userList)
                        }
                    )
                }else {
                    Promise.resolve(
                        $.ajax({
                            url: "./data/ccc.txt"
                        })
                    ).then(
                        userInfo=>{
                            console.log("展示当前的用户信息====>", userInfo)
                        }
                    )
                }
            }
        )
    }


    {//async
        async function getData() {
            let userType = await Promise.resolve($.ajax("./data/aaa.txt"));
            console.log(typeof userType);
            if(userType === "manger"){//如果是管理员
                let userList = await Promise.resolve($.ajax("./data/bbb.txt"))
                console.log("获取的所有用户信息====>", userList)
            }else {
                let userInfo = await Promise.resolve($.ajax("./data/ccc.txt"))
                console.log("展示当前的用户信息====>", userInfo)
            }
        }
        getData();

    }


</script>
</html>